Inference-based visual map of organizational structure and resource usage

ABSTRACT

Organizations may comprise a variety of resources that are assigned to various organizational units, and allocated for various projects or tasks. A user who wishes to understand the organizational structure of the resources may examine information sources, such as resource manifests and resource access logs, and interpret such information with the user&#39;s knowledge of the organization, but may fail to achieve a comprehensive, accurate, and up-to-date understanding of the organization. Instead, interactions among users and resources may be monitored to infer organizational structure; assignment of resources to organizational units; relationships among resources; and usages arising within such resource relationships. Based on such inferences, an interactive visual map may be automatically generated that depicts the arrangement of the organization and the interrelationships of the resources. A user may interact with the visualized resources, such as changing the time range or level of detail, or selecting resources to view usage information.

BACKGROUND

Within the field of computing, many scenarios involve a presentation ofa set of resources of an organization, such as a manifest of serversthat communicate over an organization network. The manifest of serversenables a user to review the number, arrangement, and composition of theresources, as well as details of each resource, such as its role and thecontext of its use. The manifest may be generated by a user (e.g., bypreparing a detailed database of relevant information about eachresource) or by automated techniques (e.g., by performing a network scanand storing the details reported by each device, such as its IP address,hardware and software configuration, and capabilities such as availablestorage and bandwidth). Further information may be determined, e.g.,based upon a resource access log that indicates interactions betweenresources of the organization. A user may then review the resourcemanifest and the resource access log, in the context of the user'sunderstanding of the organization (e.g., its hierarchical structure, theorganizational units, personnel, and projects that may own, manage,utilize, or otherwise have an association with each resource), and maytherefore achieve a greater understanding of the pairing of theresources with the structure and activities of the organization.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key factors oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

While a user may be able to interpret the entries of a resource manifestaccording to the user's understanding of the organization, suchinterpretation depends upon the depth and accuracy of the user'sknowledge of the organization. As a first example, the user mayassociate a first resource with a particular organizational unit, butsuch association may not convey a complete understanding of the resource(e.g., the first resource may be owned or maintained by theorganizational unit, but may be primarily utilized by a differentorganizational unit), and/or may not be accurate if the structure of theorganization or the allocation of resources changes (e.g., a server thatwas previously owned by the organizational unit may have been reassignedto a different organizational unit). As a second example, the user maynot be aware of relationships among resources (e.g., a first databaseserver may import information from a second database server), and maytherefore have an incorrect cognitive understanding of the arrangementof the resources, particularly for a large, diverse, and potentiallysprawling organization with a high number of organizational units,resources, and activities. As a third example, the user may understandthat two resources are interrelated (e.g., that a first database servershares data with a second database server), but may not fully understandthe usage of the relationship (e.g., the organizational units, projects,or activities that the relationship serves; the role of each databaseserver in the relationship; the types and volume of data are shared;and/or the storage and network capacity involved in the sharing). It maybe possible for a first user to prepare a comprehensive map or annotatedmanifest of the resources that includes up-to-date allocations toorganization units and/or relationships with other resources, but theaccuracy of a human-mediated manifest may exhibit diminished accuracyand currency, and may entail an inefficient use of human resources.

Presented herein are techniques for automatically generating aninteractive visual map of the resources of an organization. Notably,rather than depending upon human-initiated efforts to specify andmaintain the structural and relational information, the techniquespresented herein utilize inferences based on various information sourcesto determine the structure of the organization; the allocation ofresources to organizational units; the relationships among variousresources; and the usage arising within each such relationship. Suchinferences may be achieved, e.g., based upon information such as whichusers of the organization interact with each resource; heuristicindicators of the interactions that are characteristic of a particulartype of organizational unit; and monitoring the details of interactionsamong resources, such as network communication patterns. Inferences ofthe organizational units to which the resources are allocated, theinterrelationships of resources, and the usages arising within suchrelationships may enable an automated generation of a visual map of theresources of the organization, wherein the resources may be visuallyclustered according to the organizational unit. The visual map may alsodepict relationships and usages, and may allow the user to navigatethrough the visual map and to view the properties of a particularresource, relationship, and/or usage.

A first example embodiment of the techniques presented herein involves adevice that presents to a user a visual map of resources of anorganization having an organizational structure, wherein the devicecomprises a processor, a display, and a memory. The memory storesinstructions that, when executed on the processor, provide a systemcomprising a resource usage evaluator that monitors an interactionbetween respective resources of the organization to infer, from theinteraction, an organizational unit to which the resource is assigned; arelationship between the resource and a related resource of theorganization; and at least one usage of the resource associated with therelationship. The system also comprises an organization map presenter,which presents a visual map of the resources of the organization on thedisplay of the device, and presents a description of the usage ofselected resources within the organization.

A second example embodiment of the techniques presented herein involvesa method of presenting an interactive visual map of resources of anorganization having an organizational structure to a user of a devicehaving a processor and a display. The method involves executing, on theprocessor, instructions that cause the device to monitor an interactionbetween respective resources of the organization to infer, from theinteraction, an organizational unit to which the resource is assigned; arelationship between the resource and a related resource of theorganization; and at least one usage of the resource associated with therelationship. Executing the instructions also causes the device topresent, on the display, a visual map of the resources of theorganization, and a description of the usage of a selected resourcewithin the organization.

A third example method of the techniques presented herein involves amethod of enabling a user to interact with resources of an organizationhaving an organizational structure. The method involving a device havinga display and a processor, and comprises executing, on the processor,instructions that cause the device to detect an interaction betweenrespective resources of the organization. Executing the instructionsalso causes the device to determine, from the interaction, anorganizational unit to which the resource is assigned; a relationshipbetween the resource and a related resource of the organization; and atleast one usage of the resource associated with the relationship.Executing the instructions also causes the device to present to theuser, on the display, a visual map of the resources of the organization;and, responsive to receiving from the user a selection of a selectedresource in the visual map, a description of the usage of the selectedresource within the organization. These and other embodiments may beutilized to present a visual map of the resources of an organizationbased upon inferences of the organizational structure and resourcerelationships and usages in accordance with the techniques presentedherein.

To the accomplishment of the foregoing and related ends, the followingdescription and annexed drawings set forth certain illustrative aspectsand implementations. These are indicative of but a few of the variousways in which one or more aspects may be employed. Other aspects,advantages, and novel features of the disclosure will become apparentfrom the following detailed description when considered in conjunctionwith the annexed drawings.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of an example scenario featuring a resourcemanifest of resources of an organization and a resource access log ofaccesses arising among the resources of an organization.

FIG. 2 is an illustration of an example scenario featuring inferencesapplicable to the resources of an organization, in accordance with thetechniques presented herein.

FIG. 3 is an illustration of an interactive visual map of the resourcesof an organization generated from inferences, in accordance with thetechniques presented herein.

FIG. 4 is an illustration of an example device featuring an examplesystem for presents to a user a visual map of resources of anorganization having an organizational structure, in accordance with thetechniques presented herein.

FIG. 5 is an illustration of a first example method of presentingresources of an organization having an organizational structure to auser of a device having a processor and a display, in accordance withthe techniques presented herein.

FIG. 6 is an illustration of a second example method of enabling a userto interact with resources of an organization having an organizationalstructure, in accordance with the techniques presented herein.

FIG. 7 is an illustration of an example memory device storinginstructions that cause a device to presents to a user a visual map ofresources of an organization having an organizational structure, inaccordance with the techniques presented herein.

FIG. 8 is an illustration of example scenarios featuring techniques forperforming inferences of the organizational structure and theallocation, relationships, and usages of organizational resources, inaccordance with the techniques presented herein.

FIG. 9 is an illustration of example scenarios featuring a distributedagent network that enables inferences of usages of resources by usersand other resources, in accordance with the techniques presented herein.

FIG. 10 is an illustration of example scenarios featuring a presentationof the resources of an organization as a visual map based upon avariable level of detail, in accordance with the techniques presentedherein.

FIG. 11 is an illustration of an example scenario featuring apresentation of the resources of an organization as a visual map basedupon a time range, in accordance with the techniques presented herein.

FIG. 12 is an illustration of an example scenario featuring apresentation of the resources of an organization as a visual map that isnavigable by a gaze tracking device, in accordance with the techniquespresented herein.

FIG. 13 is an illustration of an example scenario featuring a computingenvironment within which the techniques presented herein may beimplemented and/or utilized.

DETAILED DESCRIPTION

The claimed subject matter is now described with reference to thedrawings, wherein like reference numerals are used to refer to likeelements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the claimed subject matter. It may beevident, however, that the claimed subject matter may be practicedwithout these specific details. In other instances, structures anddevices are shown in block diagram form in order to facilitatedescribing the claimed subject matter.

A. Introduction

FIG. 1 is an illustration of an example scenario 100 featuring theresources 104 of an organization 102, and various resources that may beutilized to enumerate, document, and describe such resources 104. Inthis example scenario 100, the resources 104 comprise servers that havebeen allocated to various organizational units 106, such as divisions ordepartments within the organization 102 that provide different roles andfunctions for the organization 102. Respective resources 104 may varyaccording to name, resource type (e.g., the services and data providedby each server), capabilities (e.g., storage capacity and networkbandwidth), and other properties, such as network address 110.

A user of the organization 102, such as an information technologyadministrator, may prepare and maintain a resource manifest 108 as arecord of the resources 104 of the organization 102. For example, theuser may insert new records of the manifest when new resources 104 areacquired by the organization 102, and may update the resource manifest108 when resources 104 are physically relocated, organizationallyreassigned to different organization units 106, reconfigured withdifferent equipment, and/or reallocated to store different types ofdata. The user may also utilize automated techniques to facilitate thepreparation of a resource manifest 108, such as a network scanning orenterprise management tool that query each resource 104 of theorganization 102, and record the details reported by the resource 104.The user may also have access to a resource access log 112, indicatingnetwork interactions between various resource 104, such as transfers ofdata from a first resource 104 to a second resource 104, or from a userto a resource 104 or vice versa.

A user may endeavor to determine, from the resource manifest 108 and/orthe resource access log 112, the organizational structure of theorganization 102, such as the resources 104 associated with eachorganization unit 106; the relationships among resources 104; and theactivities that occur among resource 104, such as dependencies of afirst resource 104 on a second resource 104 for the provision of data,capabilities such as storage, or functionality such as providedservices. To this end, the user may examine the resource manifest 108 todetermine which resources 104 are allocated to each organizational unit106, and may examine the resource access log 112 to determineinteractions between resources 104 that may reveal relationships and/orusages. The user may combine this information with his or her knowledgeof the organization 102, such as the roles, locations, andinterrelationships of the organizational units 106; the activities ofthe organization 102, and the resources 104 involved in each suchactivity; and the user's knowledge of interrelationships among resources104. A user such as an information technology administrator may possessa wealth of such knowledge, and may view the resource manifest 108 andthe resource access log 112 through the lens of his or her extensivepersonal knowledge of the organization 102 to arrive at a comprehensiveunderstanding of the allocation, layout, and roles of the resources 104of the organization 102.

However, several limitations may arise with the development oforganizational knowledge based on records such as a resource manifestand a resource access log, and viewing such records in the context ofpersonal knowledge.

As a first such example, the generation and maintenance of the resourcemanifest 108 by a user may be time-consuming, inefficient, incomplete,and/or inaccurate. For example, the user may not be informed of theaddition, reassignment, or reallocation of resources 104, and/or mayrecord such information incorrectly in the resource manifest 108. Suchlimitations may arise with unacceptable frequency for organizations 102that are large, diverse, and sprawling, such that the user is unable toupdate the resource manifest 108 continuously and to maintain acontinuously accurate record of the organization 102.

As a second such example, the detail represented in the resourcemanifest 108 may be incomplete and misleading; e.g., a database servermay be assigned to and managed by a first organization unit 106, but maybe primarily utilized by a second organizational unit 106, and/or may beshared among organizational units 106. Such information may not bereflected in the resource manifest 108, and may therefore lead to aninaccurate understanding of the organization 102. Moreover, the user maynot have sufficient knowledge of the organization 102 to supplement themissing or inaccurate information; e.g., a newly hired or transferredinformation technology manager may lack the knowledge of theorganization 102 to interpret the resource manifest 108 correctly.

As a third such example, the use of a resource access log 112 todetermine relationships among resources 104 may be inadequate. Forexample, a first resource 104 may have a relationship with a secondresource 104 that does not appear in the resource access log, such as adirect communications connection over which the resources 104 maycommunicate without utilizing a network. Additionally, while theresource access log 112 may indicate interactions among resources 104,it may be difficult to discern an insignificant or ad-hoc interactionfrom a relationship such as a data or functionality dependency.Moreover, the record of an interaction between a first resource 104 anda second resource 104, or between a resource 104 and a user, may revealno information about the usage achieved in the interaction orrelationship; e.g., a first resource 104 and a second resource 104 maybe observed to exchange data, but the interaction may not provideinformation about; the project or activity to which the interactionrelates; the respective roles of the resources 104 in the interaction;and/or the types of data, functionality, and/or services provided by therespective resources 104. A user may only be able to determine that aninteraction occurred, without developing a deeper understanding of therelationship and/or usages of the resources 104 participating in theinteraction. It may be possible for the user to discover thisinformation through further investigation, and the user may prepare amore complete report of the resources 104 of the organization 102, butsuch report may be time-consuming to prepare and to maintain,particularly for large organizations.

B. Presented Techniques

The techniques presented herein involve the determination of informationabout the organizational structure of an organization 102, as well asthe number, allocation, relationships, and usages of resources 104 ofthe organization 102. Such determinations are achieved through automatedinferences based upon information that describes the organization 102and resources 104, and monitoring the interactions among users andresources 104 of the organization 102. A variety of techniques may beapplied to a variety of information sources to achieve such inferences,which may inform the automated discovery and presentation of informationabout the organization 102.

FIG. 2 presents an illustration of an example scenario 200 featuringvarious techniques for inferring information about the resources 104 ofan organization 102.

A first example scenario 224 in FIG. 2 involves a set of users 202 ofthe organization 102 who, through various devices (e.g., a computer anda mobile device), engage in an interaction 204 with a resource 104 ofthe organization 102, such as a server. The actions of the users 202 mayappear in a resource access log 112 as a record of the interaction 204with the resource 104, but in accordance with the techniques presentedherein, additional information about the interaction 204 may informinferences 208 about the structure of the organization 102 and theallocation of resources 104 therein. For example, the nature of theinteraction 204 may be evaluated, and it may be determined that theusers 202 interact with the server 104 in an administrative capacity,e.g., performing various administrative tasks such as creating users anddata sets, and establishing and updating user privileges. An inference208 may be made that the users 202 are acting as administrators of theresource 104 on behalf of a particular organizational unit 106.Additionally, an organization directory 206 may be consulted todetermine more information about the users 202, such as theorganizational unit 106 to which the users 202 are assigned. Theorganization directory 206 may indicate that both users 202 are membersof a particular organizational unit 106 (e.g., a U.S.-based researchdivision). Together, this information may enable an inference 208 thatthe resource 104 is administratively assigned 210 to and managed by theorganizational unit 106 of the users 202, i.e., that the server ismaintained by the U.S. research division.

A second example scenario 226 in FIG. 2 involves inferences 208 aboutthe organizational structure of the organization 102, based oninteractions 204 of users 202 and processes with a particular resource104. In this second example scenario 226, various users 202 of theorganization 102 may interact with a particular resource 104, such as aserver, and such interactions 204 may be recorded in a document such asa resource access log 112. However, further information about theorganization 102 may be determined by evaluating the details of suchinteractions 204. First, it may be determined that interactions 204 withthe resource 104 frequently arise from a particular user group 214, suchas a cluster of users 202 who are located within a particular cluster ofa network topology of a network 216. The interactions 204 with theresource 104 may also be examined to determine the processes, projects,and/or activities for which the users 202 of the user group 214 interactwith the resource 104, such as the types of applications 212 throughwhich the users 202 often interact with the resource 104. Heuristics 2Hmay be applied to determine the types of organizational units 106 thattypically use such application 212; e.g., particular types of softwareor data sets are typically used by the members of a particular type oforganizational unit 106. According to such heuristics 2H, it may bedetermined that the users 202 of the user group 214 routinely interactwith the resource 104 for applications 212 that are characteristic ofproject management tasks. These heuristics 2H may therefore enable aninference 208 about the nature of the organizational unit 106, i.e.,that the user group 214 represents a project management organizationalunit 106, and that such organizational units 106 typically fulfillcertain types of roles and functions within organizations 102.

A third example scenario 228 in FIG. 2 involves inferences 208 about therelationships 218 and usages 222 of particular resources 104, based uponan evaluation of the interactions thereamong. In this third examplescenario 228, various resources 104 engage in interactions 204, such asnetwork communications and instances of data sharing, that may appear ina resource access log 112. However, a deeper evaluation of suchinteractions 204 may inform inferences 208 of the relationships 218 ofthe resources 202, such as a data or functionality dependency of a firstresource 104 on a second resource 104, and/or relative roles of theresources 104 while engaging in the relationship 218, such asprovider/consumer and client/server relations, and the development ofauthentication, trust, and/or control between the resources 104 of therelationship 218. The interactions 204 may also be evaluated to informinferences 208 of the usages 222 arising within such relationships 218,such as the particular projects or activities for which therelationships 218 are created or maintained; the type, frequency,volume, direction, and/or significance of exchanged data orfunctionality; and the capabilities and/or dependencies that areinvolved for each resource 104 during the usage 222 of the relationship218 (e.g., the processing and/or network capacity that each resource 104utilizes while engaging in various usages 222). These and otherinferences 208 about the organization 102, organizational units 106,users 202, resources 104, relationships 218, and/or usages 222 may beachieved through such techniques, and may be used to inform users 202about the organization 102.

FIG. 3 presents an illustration of an example scenario 300 whereininferences 208, such as those achieved in the example scenario 200 ofFIG. 2, are used to automate the generation of an interactive visual map302 of the institution 102 for presentation to a user 202. In thisexample scenario 300, respective resources 104 are visually depicted asmodules with a size and/or shape selected according to characteristicsof the resource 104, such as the storage and/or computational capacity,volume and/or significance of data stored, network bandwidth, and servertype. As a first such example, inferences 206 of the organizational unit206 to which the respective resources 104 are assigned may enable thevisual clustering of resources 104 with the respective organizationalunits 106; e.g., all resources 104 associated with the U.S.-basedresearch division are clustered at the lower-right corner of the visualmap 302, as a depiction of the complete set of resources 104 directlyassigned to the organizational unit 106. As a second such example,inferences of the relationships 218 between resources 104 may beautomatically visualized as a visual connection 304 on the visual map302 between the related resources 104. As a third such example,inferences of the usages 222 involved in the respective relationships218 among resources 104 may be described for the user 202; e.g., uponreceiving a selection of a selected resource 306, the visual map 302 maybe updated with a description 308 of the selected resource 306 includingdescriptions of the usages 222 of the selected resource 306 by and withother resource 104 of the organization 102. In this manner, inferencesabout the organization 102 and resources 104 may inform the automatedgeneration of an interactive visual map 302 thereof, in accordance withthe techniques presented herein.

C. Technical Effects

Various uses of the techniques presented herein to automate thegeneration of an interactive visual map 302, based upon automatedinferences about the organization 102 and resource 104, may result in avariety of technical effects.

As a first technical effect that may arise from the techniques presentedherein, the use of automated inferences 208 to generate information mayresult in a more comprehensive and accurate description of theorganization 102 and resources 104 than techniques based on acombination of less-informative resources, such as resource manifests108 and resource access logs 112, alone or in combination with theknowledge of the user 202 about the organization 102. For example, theautomatically generated interactive visual map 302 may enable a new user202 to become acquainted with the organization 102 and resources 104,even if the user 202 has little previous knowledge thereof.

As a second technical effect that may arise from the techniquespresented herein, the use of automated inferences 208 to discoverinformation about the organization 102 and resources may present greaterefficiency than human-mediated processes, which may be comparativelytime-consuming and expensive. Additionally, the accuracy of the visualinteractive map 302 may exceed that achievable by user-mediatedprocesses, since changes to the structure of the organization 102 and/orallocation and relationships of resources 104 may be automatically andrapidly inferred and incorporated into the visual map 302, withouthaving to await discovery of such changes and the updating of a resourcemanifest 108 by a user 202.

As a third technical effect that may arise from the techniques presentedherein, the automated generation of an interactive visual map 302 mayprovide a particularly accessible description of the organization 102and resources 104. For example, a user 202 may navigate through thevisual map 302, such as zooming out to view a top-level generalizeddepiction of the structure of the organization 102, zooming in on areasof interest to view more detail, or selecting on a particular element,such as a resource 306 or connection 304, to view more information aboutthe selected element. The visual map 302 may be updated to revealinformation to the user 202 that is suitable for the current view; e.g.,the level of detail may be adapted to the current zoom level, such thatconnections 304 may be aggregated and/or limited in number as the user202 zooms out to a lower level of detail, and parceled and/or presentedin greater detail (e.g., color-coded according to usage) upon zooming into a higher level of detail. An interactive map 302 such as depicted inthe example scenario 300 of FIG. 3 may therefore be more informative anduser-accessible than more mechanically structured records, such as theresource manifest list 108 and the resource access log 112 of FIG. 1.Many such technical effects may be achievable in some variations of thetechniques presented herein.

D. Example Embodiments

FIG. 4 presents a first example embodiment of the techniques presentedherein, illustrated as an example device 402 featuring an example system410 that causes the example device 402 to present a visual map 302 ofthe resources 104 of an organization 102 to a user 202 in accordancewith the techniques presented herein.

In the example scenario 400 of FIG. 4, a device 402 having a processor404, a display 406, and a memory 408 is utilized by a user 202 toexamine the structure of an organization 102 and the allocation ofresources 104 therein. The device 402 may create in the memory 408 asystem 410 of components that interoperate to achieve the presentationof such a visual map 302 on the display 406 in accordance with thetechniques presented herein. The respective components of the system 410may be implemented, e.g., as a set of instructions that, when executedon the processor 404, cause the device 402 to perform a portion of thetechniques presented herein. The example system 410 comprises a resourceusage evaluator 412, which monitors an interaction 204 betweenrespective resources 104 of the organization 102 to achieve inferences208 from the interaction 204, wherein such inferences 208 include,within the organizational structure of the organization 102, anorganizational unit 106 to which the respective resources 104 areassigned; a relationship 218 between the resources 104 of theorganization 104; and at least one usage 222 of the resource 104 arisingwithin the relationship 218. The resource usage evaluator 412 mayutilize a variety of information sources and techniques to achieve suchinferences 208, including, e.g., some or all of the information sourcesand/or techniques illustrated in the example scenario 200 of FIG. 2. Theexample system 410 further comprises an organization map presenter 414,which presents, on the display 406, a visual map 406 of the resources104 of the organization 102; and, for respective resources 104 in thevisual map 302, presents a description of the usage 222 of the selectedresource 104 within the organization 102. In this manner, the examplesystem 410 causes the example device 402 to generate and present thevisual map 402 of the organization 102 to the user 202 based uponinferences 208 derived from the interactions 204 among the resources 104in accordance with the techniques presented herein.

FIG. 5 presents a second example embodiment of the techniques presentedherein, illustrated as an example method 500 of presenting, to a user202 of a device having a processor and a display, resources 104 of anorganization 102 having an organizational structure. The example method500 may be implemented, e.g., as a set of instructions stored in amemory component of a device, such as a memory circuit, a platter of ahard disk drive, a solid-state storage device, or a magnetic or opticaldisc, and organized such that, when executed on a processor of thedevice, cause the device to operate according to the techniquespresented herein.

The example method 500 begins at 502 and involves executing 504 theinstructions on a processor of the device. Specifically, executing 504the instructions on the processor causes the device to monitor 506 aninteraction 204 between respective resources 104 of the organization 102to achieve inferences 208 from the interaction 204 that include, withinthe organizational structure of the organization 102, an organizationalunit 106 to which the resource 104 is assigned 508; a relationship 218between the resource 104 and a related 510 resource 104 of theorganization 102; and at least one usage 222 of the resource 104associated 512 with the relationship 218. Executing the instructions onthe processor also causes the device to present 514, on the display, avisual map 302 of the resources 104 of the organization 102. Executingthe instructions on the processor also causes the device to, forrespective resources 104 in the visual map 302, present 516 adescription 308 of the usage 222 of the selected resource 306 within theorganization 102. In this manner, the example method 500 enables thedevice to describe the organization 102 and resources 104 to the user202 through an automatically generated visual map 302 based oninferences derived rom interactions 204 of resources 104 in accordancewith the techniques presented herein, and so ends at 518.

FIG. 6 presents a third example embodiment of the techniques presentedherein, illustrated as an example method 600 of enabling a user 202 tointeract with resources 104 of an organization 102 having anorganizational structure. The example method 600 may be implemented,e.g., as a set of instructions stored in a memory component of a device,such as a memory circuit, a platter of a hard disk drive, a solid-statestorage device, or a magnetic or optical disc, and organized such that,when executed on a processor of the device, cause the device to operateaccording to the techniques presented herein.

The example method 600 begins at 602 and involves executing 604 theinstructions on a processor of the device. Specifically, executing 604the instructions on the processor causes the device to detect 606 aninteraction 204 between respective resources 104 of the organization102. Executing 604 the instructions on the processor further causes thedevice to determine 608, from the interaction 204, an organizationalunit 106 to which the resource 104 is assigned 610 within theorganizational structure of the organization 102; a relationship 218between the resource 104 and a related 612 resource 104 of theorganization 102; and at least one usage 222 of the resource associated614 with the relationship 218. Executing 604 the instructions on theprocessor further causes the device to present 616 to the user 202, onthe display 406, a visual map 302 of the resources 104 of theorganization 102. Executing 604 the instructions on the processorfurther causes the device to, responsive to receiving from the user 202a selection of a selected resource 306 in the visual map 302, present618 to the user 202 a description 308 of the usage 222 of the selectedresource 306 within the organization 102. In this manner, the examplemethod 600 enables the device to provide the user 202 with aninteractive visual map 302 of the resources 104 of the institution 102in accordance with the techniques presented herein, and so ends at 620.

Still another embodiment involves a computer-readable medium comprisingprocessor-executable instructions configured to apply the techniquespresented herein. Such computer-readable media may include various typesof communications media, such as a signal that may be propagated throughvarious physical phenomena (e.g., an electromagnetic signal, a soundwave signal, or an optical signal) and in various wired scenarios (e.g.,via an Ethernet or fiber optic cable) and/or wireless scenarios (e.g., awireless local area network (WLAN) such as WiFi, a personal area network(PAN) such as Bluetooth, or a cellular or radio network), and whichencodes a set of computer-readable instructions that, when executed by aprocessor of a device, cause the device to implement the techniquespresented herein. Such computer-readable media may also include (as aclass of technologies that excludes communications media)computer-computer-readable memory devices, such as a memorysemiconductor (e.g., a semiconductor utilizing static random accessmemory (SRAM), dynamic random access memory (DRAM), and/or synchronousdynamic random access memory (SDRAM) technologies), a platter of a harddisk drive, a flash memory device, or a magnetic or optical disc (suchas a CD-R, DVD-R, or floppy disc), encoding a set of computer-readableinstructions that, when executed by a processor of a device, cause thedevice to implement the techniques presented herein.

An example computer-readable medium that may be devised in these ways isillustrated in FIG. 7, wherein the implementation 700 comprises a memorydevice 702 (e.g., a CD-R, DVD-R, or a platter of a hard disk drive), onwhich is encoded computer-readable data 604. This computer-readable data704 in turn comprises a set of computer instructions 706 that, whenexecuted on a processor 712 of a device 710, cause the device 710 toperform flowchart 708 according to the principles set forth herein.

In a first such embodiment, the processor-executable instructions 706may create in a memory 408 of the device 402 a system for presenting avisual map 302 of the resources 104 of an organization 102 to a user 202based upon inferences 208 derived from interactions 204 of the resources104 in accordance with the techniques presented herein, such as theexample system 410 in the example scenario 400 of FIG. 4.

In a second system embodiment, the processor-executable instructions 706may provide a method of presenting a visual map 302 of the resources 104of an organization 102 to a user 202 based upon inferences 208 derivedfrom interactions 204 of the resources 104 in accordance with thetechniques presented herein, such as the example method 500 of FIG. 5.

In a third such example, the processor-executable instructions 706 maycause a device to perform a method of presenting a visual map 302 of theresources 104 of an organization 102 to a user 202 based upon inferences208 derived from interactions 204 of the resources 104 in accordancewith the techniques presented herein, such as the example method 600 ofFIG. 6. Many such computer-readable media may be devised by those ofordinary skill in the art that are configured to operate in accordancewith the techniques presented herein.

E. Variations

The techniques discussed herein may be devised with variations in manyaspects, and some variations may present additional advantages and/orreduce disadvantages with respect to other variations of these and othertechniques. Moreover, some variations may be implemented in combination,and some combinations may feature additional advantages and/or reduceddisadvantages through synergistic cooperation. The variations may beincorporated in various embodiments (e.g., the example system 410 ofFIG. 4; the example method 500 of FIG. 5; the example method 600 of FIG.6; and/or the example memory device 702 of FIG. 7) to confer individualand/or synergistic advantages upon such embodiments.

E1. Scenarios

A first aspect that may vary among embodiments of these techniquesrelates to the scenarios wherein such techniques may be utilized.

As a first variation of this first aspect, the techniques presentedherein may be utilized to achieve the configuration of a variety ofdevices and servers, such as workstations, laptops, tablets, mobilephones, game consoles, portable gaming devices, portable or non-portablemedia players, media display devices such as televisions, appliances,home automation devices, computing components integrated with a wearabledevice integrating such as eyewear or a watch, and supervisory controland data acquisition (SCADA) devices.

As a second variation of this first aspect, the techniques presentedherein may be utilized to present a visual map 302 of resources 104 formany types of organizations 102, such as public and/or privatecompanies; international, national, and/or local governments and/orregulatory bodies; non-profit institutions, such as schools andhospitals; social communities, such as the members of a township or aclub; and social networks, such as friends and families. Suchorganizations 102 may also include a wide variety of organizationalunits 106, such as administrative units, research units, finance andhuman resources units, infrastructure units such as informationtechnology and security, research and/or product development units, andclient-facing units such as customer service. Additionally, suchorganizations 102 may be comprised of various arrangements oforganizational units 106, such as a hierarchy, aggregation, or network,and/or may be divided into organizational units 106 in various ways,such as by function, by geography, by size, by client or research type,and/or by product or service category.

As a third variation of this first aspect, the techniques presentedherein may be utilized to present a visual map 302 of many types ofresources 104 of the organization 102, such as databases and data sets;media items, such as recordings and/or libraries of text, audio,pictures, and/or video; content sources, such as web pages or websites;one or more processes or applications executing on a device; one or morephysical devices, such as device peripherals sensors, and/or autonomousrobots; and one or more real and/or virtual environments. Respectiveresources 104 presented in the visual map 302 may also be owned,managed, maintained, licensed by, secured by, and/or stored within theorganization 102, and/or may be external to the organization 1042 suchas a publicly provided database or data set that is of interest to aparticular organization 102.

As a fourth variation of this first aspect, respective users 202interacting with the resources 104 and/or the visual map 302 may havevarious roles in the organization 102, such as an administrator, owner,customer, client, end user, subject, analyst, and/or beneficiary of oneor more resources 104. Many such scenarios may be devised wherein partor all of the techniques presented herein may be advantageouslyutilized.

E2. Drawing Inferences of Organizational Structure, Resources, andUsages

A second aspect that may vary among embodiments of the techniquespresented herein involves the manner of drawing inferences 208 about theorganization 102 (e.g., the number, relationships, and types oforganizational units 106 and/or the assignment of resources 104 thereto)and/or about the resources 104 (e.g., the number, types,interrelationships, and usages 222 of the resource 104) based upon theinteractions 204 among resources 104 and users 202.

As a first variation of this second aspect, many information sources maybe utilized to inform such inferences 208 about the organizational units106 and assignment of resources 104. As a first example of this firstvariation of this second aspect, a memory of a device may further storean organizational map describing the organizational structure of theorganization 102. Inferences 208 of the organizational units 106 towhich respective resources 104 are assigned may be drawn by identifyinga position of the resource 104 within the organizational map, andidentifying the organizational unit 106 associated with the position ofthe resource 104 in the organizational map. As a first such example, theorganizational map may comprise a network map that indicates particularranges of network addresses that have been reserved for particularorganizational units 106 of the organization 102, and a resource 104 maybe inferred as assigned to the organizational unit 106 if it has beenallocated a network address within a reserved range. As a second suchexample, the organizational map may comprise a physical map indicatingthe physical locations of respective organizational units 106 of theorganization 102, and a resource 104 may be inferred as assigned to aparticular organizational unit 106 by identifying its physical location(e.g., using a Global Positioning System (GPS) receiver) and identifyingthe organizational unit 106 encompassing the location of the resource104. A second example of this first variation of this second aspect isillustrated in the example scenario 200 of FIG. 2, wherein a device hasaccess to an organizational directory of the organization 102, andinferences of organizational units 106 of the organization 102 may beidentified according to the organizational directory. Accordingly, anembodiment of the techniques presented herein may identify a user 202within the organization 102 who uses a particular resource 104; identifythe organizational unit 106 of the user 202 of the resource 104; andtherefore draw an inference 208 of a relationship 218 between theresource 104 and related resources 104 of the organizational unit 106 towhich the user 202 of the resource 104 is assigned.

As a second variation of this second aspect, a variety of techniques maybe utilized to draw such inferences 208 from the information sources.The example scenario 200 of FIG. 2 presents a first example of thissecond variation of this second aspect, wherein heuristics are utilizedto identify the organization type of a particular organizational unit106, which may inform further inferences about the associations of users202, resources 104, and organizational units 106.

FIG. 8 presents an illustration set of example scenarios 800 thatprovide additional examples of techniques that may be utilized to drawinferences about organizational units 106 and resources 104. As a secondexample 802 of this second variation of this second aspect, inferences208 of the organizational units 208 to which respective resources 104are assigned may be achieved by clustering respective resources 104 withrelated resources 104 of the organization 102 according to at least oneresource property. For example, resources 104 may be clustered accordingto resource types, optionally guided by heuristics indicating thecontexts in which resources 104 of the respective resource types aretypically utilized in order to match respective resources 104 with anorganizational unit 106 of the organization 102. Additionally, aresources 104 that are frequently accessed by the same group of users,that are accessed from the same range of devices and/or networkaddresses, that are accessed within the same time frames, and/or thatare accessed in order to interact with one another may be clusteredtogether. The clustering techniques may involve classification (e.g.,using a Bayesian classifier) and/or probabilistic determination toidentify an organizational unit 106 having the highest probability ofhaving been assigned the resource 104, and such clustering techniquesmay enable resources 104 that having a proximity to related resources104 within the clustering of the organization 102 may be inferred asassigned to the same organizational unit 106.

As a third example 806 of this second variation of this second aspect,various adaptive algorithms may be utilized to draw inferences aboutorganizational units 106, resources 104, relationships 218, and/orusages 222 arising thereamong. As one such example, an artificial neuralnetwork 808 may be provided that has been trained to, based upon a setof inputs describing a resource 104, identify the organizational unit106 to which the resource 104 has likely been assigned and/or the usages222 that likely arise within the relationships 218 of the resource 104.Following training of the artificial neural network 808, for aparticular resource 104, inputs may be gathered such as the interaction204 of the resource 104 with other resources 104 of the organization102, the users 202 who access the resource 104, and a network address110 of the resource 104, and provided to the artificial neural network808 to infer the organizational unit 106 to which the resource 104 haslikely been assigned, as well as the usages 222 for which the resource104 is likely utilized.

As a third variation of this second aspect, many techniques may beutilized for inferences 208 about particular resources 104 of theorganization 102 based on interaction of the resource 104 with otherresources 104 of the organization 102. As a first such example, arelationship 218 and/or usage 222 may be inferred through aconfiguration of a first resource 104 to interact with a second resource104 as a server or superior resource, and a configuration of the secondresource 104 to interact with the first resource 104 as a client orsubordinate resource 104. As a second such example, a relationship 218and/or usage 222 may be inferred through a data or functionalitydependency, e.g., wherein a first resource 104 provides data,capabilities such as storage, and/or services that are consumed by asecond, related resource 104. As a third such example, a relationship218 and/or usage 222 may be inferred based upon network interactionbetween a first resource 104 and a second, related resource 104, e.g.,determining that the resources 104 regularly communicate at a particularscheduled date and time, and/or regularly exchange a particular type ofdata.

As a fourth variation of this second aspect, many techniques may beutilized to identify and evaluate particular interactions 204 amongresources 104 and users 202 of the organization 102 to inferrelationships 218 and usages 222 arising thereamong. In some scenarios,the investigation of particular interactions 204 may be difficult due tothe volume and/or distribution of the users 202 and resources 104; e.g.,a globally distributed enterprise may feature a large number of userslocated in various countries and interacting with different clusters ofresources 104, and determining the relationships 218 and usages 222thereamong may be difficult due to the scope of the interaction network.For example, an inference process executing in one country may havedifficulty monitoring the interactions of users 202 with resources 104in a distant country, due to limitations such as network bandwidthconstraints and network latency.

FIG. 9 presents an illustration of an example scenario 900 featuring onetechnique for evaluating interactions 204 to infer relationships 218 andusages 222 within respective organizational units 106 of theorganization 102. In this example scenario 900, an organization 102 isdistributed across a variety of locations 902, each featuring a set ofusers 202 interacting with a subset of resources 104 of the organization102. In order to provide a coordinated and comprehensive evaluation ofsuch interactions 204 that informs a resource usage evaluator 412, adistributed agent network may be devised, wherein respective usagemonitoring agents 904 are deployed to a location 902 to monitor andevaluate the interactions 204 arising among the users 202 and resources104 of that location 902. For example, if an organization 102 isdistributed across five offices that are physically distant, a networkserver within each office may execute a process providing a usagemonitoring agent 904 that monitors the interaction of users 202 andresources 104 specifically within the office. Respective usagemonitoring agents 904 may infer relationships 218 and/or usages 222 forthe location 902, and may issue a resource usage report 906 for location902 to the resource usage evaluator 412, which may generate acomprehensive set of inferences 208 of relationships 218 and usages 222of the resources 104, and may inform an organization map presenter 414of such information in order to achieve a fully detailed andcomprehensive visual map 302 of the organization 102 and resources 104.Many such techniques may be utilized to generate inferences 208 aboutthe organization 102, organizational units 106, users 202, resources104, relationships 218, and usages 222 arising thereamong in accordancewith the techniques presented herein.

E3. Generating Visual Map of Organization and Resources

A third aspect that may vary among embodiments of the techniquespresented herein involves the automatic generation of an interactivevisual map 302 of the organization 102 and resources 104, based uponinferences derived from the interactions 204 among resources 104 andusers 202.

As a first variation of this third aspect, the spatial layout and/orappearance of the resources 104 in the visual map 302 may be selectedaccording to many criteria, several of which are depicted in the examplescenario 300 of FIG. 3. As a first such example, the visual map 302 maycluster resources 104 with the organizational unit 106 to which theresource 104 is assigned. As a second such example, respective resources104 may be presented on the visual map 302 with a position and/orappearance selected according to a resource property of the resource 104(e.g., a resource type, capability, and/or role), and/or according to ausage 222 of the resource 104 within the organization 102 (e.g.,selecting a size and/or color-coding of respective resources 104 thatconveys a priority of the tasks performed by the resource 104 for theorganization 102).

FIG. 10 presents an illustration of an example scenario 1000 featuring aset of second variations of this third aspect, wherein the visual map302 includes one or more visual connections 304 that respectivelyvisualize the relationships 218 between a resource 104 and a relatedresource 104. Such visual connections 304 may comprise, e.g., a matchingvisual appearance (e.g., presenting resources sharing a relationship 218using a corresponding color, shading, pattern, shape, and/or positionalong at least one axis within the visual map 302), and/or, as presentedin the example scenario 1000 of FIG. 10, a visual line connecting eachresource 104 involved in the relationship 218. Additionally, aspresented in the example scenario 1000 of FIG. 10, a level of visualdetail 1004 may be selected for the visual map 302. Various elements ofthe visual map 302 that exceed the selected level of visual detail 1004may be removed, aggregated, and/or consolidated. Conversely, variouselements of the visual map 302 that does not yet meet the selected levelof visual detail 1004 may be elaborated, e.g., by presenting more detailabout the visual element, and/or apportioning one element into subpartsthat are separately presented in the visual map 302. For example, afirst resource 104 and a second resource 104 may have a relationship 218including numerous usages 222, which may be presented together as asingle connection 304 when the visual map 302 is presented at a lowlevel of visual detail 1004, and presented increasing increments ofsingularity at successively higher levels of visual detail 1004.

Further variations in the use of the level of visual detail 1004 may beincluded in the visual map 302. As a first such example, and aspresented in the example scenario 1000 of FIG. 10, the level of visualdetail 1004 may be controlled by a user 202 through selectable zoomlevel 1004, wherein zooming in on a portion of the visual map 302 raisesthe level of visual detail 1004, and zooming out to view a greaterportion of the organization 102 lowers the level of visual detail 104 ofthe visual map 302. Alternatively or additionally, the level of visualdetail 1004 may be adjusted according to a user preference of the user102, and/or properties of the device on which the visual map 302 ispresented, such as the display size and resolution. As a second suchexample, the level of visual detail 1004 may be implemented in thevisual map 302 in various ways; e.g., at any particular zoom level 1002,a level of visual detail 1004 may be selected as a range of visualelements to be viewable at the zoom level 1002 (e.g., limiting thenumber of connections 304 displayed at a given zoom level 1002 to amaximum of twelve), such that connections 304 are consolidated and/orselectively removed (e.g., based on a priority ranking) until theconstraint on the number of visualized connections 304 is satisfied.

As a third set of variations of this third aspect, many types ofinteractivity may be included and implemented in the presentation of thevisual map 302. As a first such example, responsive to receiving fromthe user 202 a selection of a selected resource 306, the visual map 302may describe the selected resource 306 (e.g., a key performance pane maybe inserted adjacent to the visual map 302 and depicting a list ofmetrics or symbols that indicate the key performance metrics of theselected resource 306, and/or usage indicators of the usages 222 of theresource 104 within various the relationships 218 with other resources104). As a second such example, the user 202 may adjust various otherproperties of the view of the visual map 302 that may affect the levelof detail 1004; e.g., if the user 202 is interested in a particularsubset of resources 104, such as those according to a particularresource type, the level of visual detail 1004 may be raised selectivelyfor resources 104 of the specified resource type and lowered forresources 104 of different types, thereby providing an adjustable andincremental filter that may be controlled to adjust a degree offiltering of the visual map 302.

FIG. 11 presents an illustration of a third example of this thirdvariation of this third aspect, wherein the visual map 302 is viewableaccording to a time range 1102. For example, the set of organizationalunits 106, resources 104, relationships 218, and/or usages 222 may betracked over time as a record of the progression of the organization 102(e.g., changes between a first time 1106 and a second time 1108). A user202 may specify various time periods during which the visual map 202 isto depict the organization 102, and the visual map 302 maycorrespondingly present the resources 104 comprising the organization102 during the selected time range 1102. Additionally, the visual map302 may present usage indicators of the usages 222 of the resources 104specifically within the selected time range 1102, e.g., as a depictionof network capacity, usage, and sufficiency throughout the organization102 at the selected time range 1102. In one such variation 1110, theuser 102 may choose a current time range in order to request a visualmap 302 of current usages 222, and the visual map 1110 may be limited topresent usage indicators of current usages of resources 104 at thecurrent time.

As a fourth set of variations of this third aspect, the visual map 1110of the resources 104 of the organization 102 may be presented in amanner that enables navigation to present the resources 104 from variousperspectives within the visual map 302. As a first such example, thenavigation may be driven by a user, e.g., based on directional controlsthat alter the position, orientation, velocity, acceleration, and/orzoom level of the perspective within the visual map 302. As a secondsuch example, the navigation may follow a navigation track, such as apredefined or computationally generated path that transitions among aset of perspectives within the visual map 302. The navigation track maybe prerecorded (e.g., by recording the navigation of a user within thevisual map 302, and replaying the navigation for the same user or asecond user), or may reflect be generated by a query (e.g., a query maygenerate a list of resources 104 in a particular order, and thenavigation may visually transition the perspectives of the visual map302 to focus on each resource 104 in order). The navigation path mayalso be specified, e.g., as a set of locations such as coordinateswithin the visual map 302; as the directional control of theperspective, such as a sequence of changes in position, orientation,velocity, or acceleration; a sequence of resources 104 upon which tofocus the perspective of the visual map 302; and/or a query thatgenerates the coordinates, resources, or other navigational directionsthat are applicable to the perspective of the visual map 302.Additionally, the transition of the perspective within the visual map302 may be visually achieved in many ways, such as a discrete jump ordissolve from a first perspective and a second perspective, and/or asmooth transition from the first perspective and the second perspective.The navigational directions may also include timing information (e.g.,the speed of transition, and/or the amount of time to spend focusing ona particular resource 104); annotations (e.g., information to displaywhen presenting a particular perspective); and/or other visualinformation (e.g., directions to highlight particular resources 104 whenpresented from a particular perspective).

FIG. 12 is an illustration of an example scenario 1200 featuring onesuch technique for enabling navigation within a visual map 302 by aviewer 1202. In this example scenario 1200, the gaze 1206 of the viewer1202 is tracked by a gaze-tracking device 1204, such as a headset oreyewear that monitors the position of the pupils of the eyes of theviewer 1202 while the viewer 1202 is viewing a display presenting thevisual map 302, and extrapolates where within the visual map 302 thegaze 1206 of the viewer 1202 is currently directed. At a first time1214, when the visual map 302 is presented from a first visualperspective 1210, the gaze-tracking device 1204 may determine that thegaze 1206 of the viewer 1202 is directed at a particular resource 1208,such as a block of resources 104 within the visual map 302. Thegaze-tracking device 1204 may interpret the gaze 1206 of the viewer 1202as a navigation instruction 1212; accordingly, at a second time 1216,the visual map 302 may transition to a second visual perspective 1210that focuses on the resources 104 indicated by the navigationinstruction 1212. The selected perspective 1210 may also annotate thevisual map 302 with further information, such as an alert 1104 thatpertains to a particular resource or resource interconnection that isviewable at the selected perspective 1210. At the second time 1216, thegaze-tracking device 1204 may further determine that the gaze 1206 ofthe viewer 1202 is directed at a particular resource 1208, and maygenerate a navigation instruction 1212 to focus on the selected resource1208; accordingly, at a third time 1218, the visual map 302 may presenta third visual perspective 1210 that focuses on the selected resource1208. In this manner, the gaze-tracking device 1204 may enable a viewer1202 to navigation within the visual map 302 of the resources 104. Manysuch variations may be included in the generation, presentation,appearance, and interactivity of the visual map 302 in accordance withthe techniques presented herein.

F. Computing Environment

FIG. 13 and the following discussion provide a brief, generaldescription of a suitable computing environment to implement embodimentsof one or more of the provisions set forth herein. The operatingenvironment of FIG. 13 is only one example of a suitable operatingenvironment and is not intended to suggest any limitation as to thescope of use or functionality of the operating environment. Examplecomputing devices include, but are not limited to, personal computers,server computers, hand-held or laptop devices, mobile devices (such asmobile phones, Personal Digital Assistants (PDAs), media players, andthe like), multiprocessor systems, consumer electronics, mini computers,mainframe computers, distributed computing environments that include anyof the above systems or devices, and the like.

Although not required, embodiments are described in the general contextof “computer readable instructions” being executed by one or morecomputing devices. Computer readable instructions may be distributed viacomputer readable media (discussed below). Computer readableinstructions may be implemented as program modules, such as functions,objects, Application Programming Interfaces (APIs), data structures, andthe like, that perform particular tasks or implement particular abstractdata types. Typically, the functionality of the computer readableinstructions may be combined or distributed as desired in variousenvironments.

FIG. 13 illustrates an example of a system 1300 comprising a computingdevice 1302 configured to implement one or more embodiments providedherein. In one configuration, computing device 1302 includes at leastone processing unit 1306 and memory 1308. Depending on the exactconfiguration and type of computing device, memory 1308 may be volatile(such as RAM, for example), non-volatile (such as ROM, flash memory,etc., for example) or some combination of the two. This configuration isillustrated in FIG. 13 by dashed line 1304.

In other embodiments, device 1302 may include additional features and/orfunctionality. For example, device 1302 may also include additionalstorage (e.g., removable and/or non-removable) including, but notlimited to, magnetic storage, optical storage, and the like. Suchadditional storage is illustrated in FIG. 13 by storage 1310. In oneembodiment, computer readable instructions to implement one or moreembodiments provided herein may be in storage 1310. Storage 1310 mayalso store other computer readable instructions to implement anoperating system, an application program, and the like. Computerreadable instructions may be loaded in memory 1308 for execution byprocessing unit 1306, for example.

The term “computer readable media” as used herein includescomputer-readable memory devices that exclude other forms ofcomputer-readable media comprising communications media, such assignals. Such computer-readable memory devices may be volatile and/ornonvolatile, removable and/or non-removable, and may involve varioustypes of physical devices storing computer readable instructions orother data. Memory 1308 and storage 1310 are examples of computerstorage media. Computer-storage storage devices include, but are notlimited to, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, Digital Versatile Disks (DVDs) or other optical storage,magnetic cassettes, magnetic tape, and magnetic disk storage or othermagnetic storage devices.

Device 1302 may also include communication connection(s) 1316 thatallows device 1302 to communicate with other devices. Communicationconnection(s) 1316 may include, but is not limited to, a modem, aNetwork Interface Card (NIC), an integrated network interface, a radiofrequency transmitter/receiver, an infrared port, a USB connection, orother interfaces for connecting computing device 1302 to other computingdevices.

Communication connection(s) 1316 may include a wired connection or awireless connection. Communication connection(s) 1316 may transmitand/or receive communication media.

The term “computer readable media” may include communication media.Communication media typically embodies computer readable instructions orother data in a “modulated data signal” such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” may include a signal that has one or moreof its characteristics set or changed in such a manner as to encodeinformation in the signal.

Device 1302 may include input device(s) 1314 such as keyboard, mouse,pen, voice input device, touch input device, infrared cameras, videoinput devices, and/or any other input device. Output device(s) 1312 suchas one or more displays, speakers, printers, and/or any other outputdevice may also be included in device 1302. Input device(s) 1314 andoutput device(s) 1312 may be connected to device 1302 via a wiredconnection, wireless connection, or any combination thereof. In oneembodiment, an input device or an output device from another computingdevice may be used as input device(s) 1314 or output device(s) 1312 forcomputing device 1302.

Components of computing device 1302 may be connected by variousinterconnects, such as a bus. Such interconnects may include aPeripheral Component Interconnect (PCI), such as PCI Express, aUniversal Serial Bus (USB), Firewire (IEEE 1394), an optical busstructure, and the like. In another embodiment, components of computingdevice 1302 may be interconnected by a network. For example, memory 1308may be comprised of multiple physical memory units located in differentphysical locations interconnected by a network.

Those skilled in the art will realize that storage devices utilized tostore computer readable instructions may be distributed across anetwork. For example, a computing device 1320 accessible via network1318 may store computer readable instructions to implement one or moreembodiments provided herein. Computing device 1302 may access computingdevice 1320 and download a part or all of the computer readableinstructions for execution. Alternatively, computing device 1302 maydownload pieces of the computer readable instructions, as needed, orsome instructions may be executed at computing device 1302 and some atcomputing device 1320.

G. Usage of Terms

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

As used in this application, the terms “component,” “module,” “system”,“interface”, and the like are generally intended to refer to acomputer-related entity, either hardware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a controller and the controller can be a component. One or morecomponents may reside within a process and/or thread of execution and acomponent may be localized on one computer and/or distributed betweentwo or more computers.

Furthermore, the claimed subject matter may be implemented as a method,apparatus, or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computer to implement the disclosedsubject matter. The term “article of manufacture” as used herein isintended to encompass a computer program accessible from anycomputer-readable device, carrier, or media. Of course, those skilled inthe art will recognize many modifications may be made to thisconfiguration without departing from the scope or spirit of the claimedsubject matter.

Various operations of embodiments are provided herein. In oneembodiment, one or more of the operations described may constitutecomputer readable instructions stored on one or more computer readablemedia, which if executed by a computing device, will cause the computingdevice to perform the operations described. The order in which some orall of the operations are described should not be construed as to implythat these operations are necessarily order dependent. Alternativeordering will be appreciated by one skilled in the art having thebenefit of this description. Further, it will be understood that not alloperations are necessarily present in each embodiment provided herein.

Any aspect or design described herein as an “example” is not necessarilyto be construed as advantageous over other aspects or designs. Rather,use of the word “example” is intended to present one possible aspectand/or implementation that may pertain to the techniques presentedherein. Such examples are not necessary for such techniques or intendedto be limiting. Various embodiments of such techniques may include suchan example, alone or in combination with other features, and/or may varyand/or omit the illustrated example.

As used in this application, the term “or” is intended to mean aninclusive “or” rather than an exclusive “or”. That is, unless specifiedotherwise, or clear from context, “X employs A or B” is intended to meanany of the natural inclusive permutations. That is, if X employs A; Xemploys B; or X employs both A and B, then “X employs A or B” issatisfied under any of the foregoing instances. In addition, thearticles “a” and “an” as used in this application and the appendedclaims may generally be construed to mean “one or more” unless specifiedotherwise or clear from context to be directed to a singular form.

Also, although the disclosure has been shown and described with respectto one or more implementations, equivalent alterations and modificationswill occur to others skilled in the art based upon a reading andunderstanding of this specification and the annexed drawings. Thedisclosure includes all such modifications and alterations and islimited only by the scope of the following claims. In particular regardto the various functions performed by the above described components(e.g., elements, resources, etc.), the terms used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (e.g., that is functionally equivalent), even though notstructurally equivalent to the disclosed structure which performs thefunction in the herein illustrated example implementations of thedisclosure. In addition, while a particular feature of the disclosuremay have been disclosed with respect to only one of severalimplementations, such feature may be combined with one or more otherfeatures of the other implementations as may be desired and advantageousfor any given or particular application. Furthermore, to the extent thatthe terms “includes”, “having”, “has”, “with”, or variants thereof areused in either the detailed description or the claims, such terms areintended to be inclusive in a manner similar to the term “comprising.”

What is claimed is:
 1. A device that presents to a user a visual map ofresources of an organization having an organizational structure, thedevice comprising: a processor; a display; and a memory storinginstructions that, when executed on the processor, perform actscomprising: monitoring an interaction between respective resources ofthe organization; inferring from the interaction: an organizational unitto which each resource is assigned by clustering the resources accordingto resource properties that include resource type, capability, andresource role, wherein the organizational unit is associated withstructure of an organization; a relationship between the resources thatincludes for at least one resource at least one of a data dependency ora functionality dependency with another resource, and a usage of eachresource associated with the relationship; generating an interactivevisual map depicting the resources based on said inferring thatindicates the resources clustered according to the inferredorganizational unit and indicates each relationship by a visualconnection, the visual map generated with visual detail that indicatesat least one of the resource type, capability, and resource role of eachof the resources, and the inferred usage of each resource; presenting,on the display, the visual map with the generated visual detail;receiving a selection of a select resource of the resources of theorganization on the visual map; and updating the visual map, on thedisplay, with a description of the usage of the select resource,responsive to the selection.
 2. The device of claim 1, wherein: thememory further stores an organizational map describing theorganizational structure of the organization; and inferring theorganizational unit to which each resource is assigned furthercomprises: identifying a position of each resource within theorganizational map; and identifying the organizational unit associatedwith the position of each resource in the organizational map.
 3. Thedevice of claim 1, wherein: the device has access to an organizationaldirectory of the organization; and inferring the organizational unit towhich each resource is assigned further comprises: identifying, in theorganizational directory, an association between the organizational unitand each resource.
 4. The device of claim 1, wherein inferring theorganizational unit to which each resource is assigned furthercomprises: identifying, according to the clustering, a proximity of eachresource to related resources of the organization.
 5. The device ofclaim 1, wherein inferring the organizational unit to which eachresource is assigned further comprises: identifying at least oneheuristic that matches each resource with an organizational unit of theorganization.
 6. The device of claim 1, wherein the organizational unitis further divided by one of function, geography, size, or type.
 7. Amethod of presenting, to a user of a device having a processor and adisplay, resources of an organization having an organizationalstructure, the method comprising: executing, on the processor,instructions that cause the device to perform acts comprising:monitoring an interaction between respective resources of theorganization; inferring from the interaction: an organizational unit towhich each resource is assigned by clustering the resources according toresource properties that include resource type, capability, and resourcerole, wherein the organizational unit is associated with structure of anorganization; a relationship between the resources that includes for atleast one resource at least one of a data dependency or a functionalitydependency with another resource; and usages of the resources associatedwith the relationship; generating an interactive visual map depictingthe resources based on said inferring that indicates the resourcesclustered according to the inferred organizational unit and indicateseach relationship by a visual connection, the visual map generated withvisual detail that indicates at least one of the resource type,capability, and role of each of the resources, and the inferred usage ofthe resource; presenting, on the display, the visual map with thegenerated visual detail; receiving a selection of a select resource ofthe resources of the organization on the visual map; and updating thevisual map, on the display, with a description of the usage of theselect resource, responsive to the selection.
 8. The method of claim 7,wherein inferring the relationship between the resources furthercomprises: determining that the resource provides data that is consumedby the respective resource.
 9. The method of claim 7, wherein inferringthe relationship between the resources further comprises: inferring therelationship according to a network interaction between the resources.10. The method of claim 7, wherein inferring the relationship betweenthe resources further comprises: deploying a usage monitoring agent torespective organizational units of the organization, wherein the usagemonitoring agent monitors usage of resources by the organizational unit;receiving, from respective usage monitoring agents, a report of theusage of resources by the organizational unit; and inferring therelationship between the resources according to reports received fromthe respective usage monitoring agents.
 11. The method of claim 7,wherein inferring the organizational unit to which each resource isassigned further comprises identifying an organizational unit divided byone of function, geography, size, or type.
 12. A method, comprising:executing, on at least one processor, instructions stored in a memorythat when executed perform the following acts: inferring frominteraction between computing resources of an organization, thecomputing resources including a computing resource and a relatedresource: an organizational unit to which each computing resource isassigned by clustering the resources according to resource propertiesthat include resource type, capability, and resource role, wherein theorganizational unit is associated with structure of an organization; arelationship between the computing resources that includes for at leastone computing resource at least one of a data dependency or afunctionality dependency with another computing resource; and usages ofthe computing resources associated with the relationship; generating aninteractive visual map of the computing resources of the organizationbased on said inferring that indicates the computing resources clusteredaccording to the inferred organizational unit and indicates eachrelationship by a visual connection, the visual map generated withvisual detail that indicates at least one of the resource type,capability, and resource role of each of the computing resources, andthe inferred usage of each computing resource; and conveying, fordisplay on a display device, the interactive visual map of the computingresources of the organization with the generated visual detail.
 13. Themethod of claim 12, wherein inferring the organizational unit to whicheach computing resource is assigned further comprises identifying, in anorganizational directory, an association between the organizational unitand the computing resource.
 14. The method of claim 12, whereininferring the relationship between the computing resources furthercomprises determining that the computing resource provides data that isconsumed by the related resource.
 15. The method of claim 12, whereininferring the relationship between the computing resources furthercomprises inferring the relationship according to a network interactionbetween the computing resource and the related resource.
 16. The methodof claim 12, wherein inferring the organizational unit to which eachcomputing resource is assigned further comprises identifying anorganizational unit divided by one of function, geography, size, ortype.
 17. A method of presenting, to a user of a device having aprocessor and a display, resources of an organization having anorganizational structure, the method comprising: executing, on theprocessor, instructions that cause the device to perform actscomprising: monitoring an interaction between respective resources ofthe organization and inferring from the interaction: an organizationalunit to which the resource is assigned based on an identification of atleast one user using the resource, within the organization, wherein theorganizational unit is associated with structure of an organization; arelationship between the resource and a related resource of theorganization, wherein inferring the relationship between the resourceand the related resource further comprises: identifying the at least oneuser within the organization who uses the resource; identifying theorganizational unit of the at least one user of the resource; andinferring a relationship between the resource and related resources ofthe organizational unit of the at least one user of the resource; and atleast one usage of the resource associated with the relationship;presenting, on the display, a visual map of the resources of theorganization, wherein the resources are clustered according to theorganizational unit and relationships between the resources arerepresented by visual connections; receiving a selection of a selectresource of the resources of the organization on the visual map; andupdating the visual map, on the display, with a description of the usageof the select resource, responsive to the selection.
 18. A method,comprising: executing, on at least one processor, instructions stored ina memory that when executed perform the following acts: inferring frominteraction between computing resources of an organization: anorganizational unit to which a computing resource is assigned, based onan identification of at least one user using the resource, within theorganization, wherein the organizational unit is associated withstructure of an organization; a relationship between the computingresource and a related resource of the organization, wherein inferringthe relationship between the computing resource and the related resourcefurther comprises: identifying the at least one user within theorganization who uses the computing resource; identifying theorganizational unit of the at least one user of the computing resource;and inferring a relationship between the resource and related resourcesof the organizational unit of the at least one user of the computingresource; and at least one usage of the computing resources associatedwith the relationship; generating an interactive visual map of thecomputing resources of the organization, wherein the computing resourcesare clustered according to the organizational unit, relationshipsbetween resources are represented by visual connections; and conveying,for display on a display device, the interactive visual map of thecomputing resources of the organization.